<?php
include('class.validade.php');
class Anuncio{

	private $row_id;
	private $titulo;
	private $foto;
	private $preco_mercado;
	private $preco_frete;
	private $inicio_leilao;
	private $validade;
	private $link_leilao;
	private $id_leilao;
	private $data_cadastro;
	private $usuario;
	private $categoria;
	private $tipo_leilao;
	private $quantidade_visitas;
	private $data_inicio;
	private $status;
	
	public function setRow_id($row_id) {
	   $this->row_id = $row_id;
	}
	
	public function getRow_id() {
		return $this->row_id;
	}
	
	public function setTitulo($titulo) {
	   $this->titulo = $titulo;
	}
	
	public function getTitulo() {
		return $this->titulo;
	}
	
	public function setFoto($foto) {
	   $this->foto = $foto;
	}
	
	public function getFoto() {
		return $this->foto;
	}
	
	public function setPreco_mercado($preco_mercado) {
	   $this->preco_mercado = $preco_mercado;
	}
	
	public function getPreco_mercado() {
		return $this->preco_mercado;
	}
	
	public function setPreco_frete($preco_frete) {
	   $this->preco_frete = $preco_frete;
	}
	
	public function getPreco_frete() {
		return $this->preco_frete;
	}
	
	public function setInicio_leilao($inicio_leilao) {
	   $this->inicio_leilao = $inicio_leilao;
	}
	
	public function getInicio_leilao() {
		return $this->inicio_leilao;
	}
	
	public function setValidade($validade) {
	   $this->validade = $validade;
	}
	
	public function getValidade() {
		return $this->validade;
	}
	
	public function setLink_leilao($link_leilao) {
	   $this->link_leilao = $link_leilao;
	}
	
	public function getLink_leilao() {
		return $this->link_leilao;
	}
	
	public function setData_cadastro($data_cadastro) {
	   $this->data_cadastro = $data_cadastro;
	}
	
	public function getData_cadastro() {
		return $this->data_cadastro;
	}
		
	public function setId_leilao($id_leilao) {
	   $this->id_leilao = $id_leilao;
	}
	
	public function getId_leilao() {
		return $this->id_leilao;
	}
	
	public function setUsuario($usuario) {
	   $this->usuario = $usuario;
	}
	
	public function getUsuario() {
		return $this->usuario;
	}
	
	public function setCategoria($categoria) {
	   $this->categoria = $categoria;
	}
	
	public function getCategoria() {
		return $this->categoria;
	}
	
	public function setTipo_leilao($tipo_leilao) {
	   $this->tipo_leilao = $tipo_leilao;
	}
	
	public function getTipo_leilao() {
		return $this->tipo_leilao;
	}
	
	public function setQuantidade_visitas($quantidade_visitas) {
	   $this->quantidade_visitas = $quantidade_visitas;
	}
	
	public function getQuantidade_visitas() {
		return $this->quantidade_visitas;
	}
	

	public function setData_inicio($data_inicio) {
	   $this->data_inicio = $data_inicio;
	}
	
	public function getData_inicio() {
		return $this->data_inicio;
	}
	
	public function setStatus($status) {
	   $this->status = $status;
	}
	
	public function getStatus() {
		return $this->status;
	}
		
	public function listarAnuncios($db, $row_id_usuario){

		$sql = "select  a.row_id, 
						a.titulo, 
						a.foto,
						a.preco_mercado,
						a.preco_frete,
						DATE_FORMAT(inicio_leilao, '%d/%m/%Y %H:%i:%s') as inicio_leilao,
						a.link_leilao,
						a.id_leilao,
						DATE_FORMAT(data_cadastro, '%d/%m/%Y %H:%i:%s') as data_cadastro,
						a.row_id_usuario,
						a.row_id_categoria,
						a.row_id_tipo_leilao,
						a.row_id_validade,
						(select count(1) from estatistica where row_id_anuncio = a.row_id) as quantidade_visitas,
                        if(ADDTIME(a.inicio_leilao, v.valor) > now(), 'Em andamento', 'Expirado') as status
				from anuncios a, validade v
				where a.row_id_validade = v.row_id
                 and row_id_usuario in (select row_id from usuarios where row_id_empresa in (select row_id_empresa from usuarios where row_id = {$row_id_usuario}))
				 order by data_cadastro desc";

		$res = $db->executar($sql);
		
		while($reg = mysql_fetch_array($res)){

			$anuncio = new Anuncio();
			
			$anuncio->setRow_id($reg["row_id"]);
			$anuncio->setTitulo($reg["titulo"]);
			$anuncio->setFoto($reg["foto"]);
			$anuncio->setPreco_mercado($reg["preco_mercado"]);
			$anuncio->setPreco_frete($reg["preco_frete"]);
			$anuncio->setInicio_leilao($reg["inicio_leilao"]);
			$anuncio->setLink_leilao($reg["link_leilao"]);
			$anuncio->setId_leilao($reg["id_leilao"]);
			$anuncio->setData_cadastro($reg["data_cadastro"]);
			
			$usu = new Usuario();
			$usu->setRow_id($reg["row_id_usuario"]);
			$anuncio->setUsuario($usu->getUsuario($db));
			
			$cat = new Categoria();
			$anuncio->setCategoria($cat->getCategoria($db, $reg["row_id_categoria"]));

			$tl = new TipoLeilao();
			$anuncio->setTipo_leilao($tl->getTipoLeilao($db, $reg["row_id_tipo_leilao"]));
			
			$val = new Validade();
			$anuncio->setValidade($val->getValidade($db, $reg["row_id_validade"]));
			
			$anuncio->setQuantidade_visitas($reg["quantidade_visitas"]);
			$anuncio->setData_inicio($reg["inicio_leilao"]);
			$anuncio->setStatus($reg["status"]);
			$lista[] = $anuncio;
		}
		
		return $lista;
	}
	
	public function listarAnunciosPesquisa($db, $row_id_usuario, $valorPesquisa, $pginicial, $pgrowpagi){

		$sql = "select  a.row_id, 
						a.titulo, 
						a.foto,
						a.preco_mercado,
						a.preco_frete,
						DATE_FORMAT(inicio_leilao, '%d/%m/%Y %H:%i:%s') as inicio_leilao,
						a.link_leilao,
						a.id_leilao,
						DATE_FORMAT(data_cadastro, '%d/%m/%Y %H:%i:%s') as data_cadastro,
						a.row_id_usuario,
						a.row_id_categoria,
						a.row_id_tipo_leilao,
						a.row_id_validade,
						(select count(1) from estatistica where row_id_anuncio = a.row_id) as quantidade_visitas,
                        if(ADDTIME(a.inicio_leilao, v.valor) > now(), 'Em andamento', 'Expirado') as status
				from anuncios a, validade v
				where a.row_id_validade = v.row_id
				and row_id_usuario in (select row_id from usuarios where row_id_empresa in (select row_id_empresa from usuarios where row_id = {$row_id_usuario}))
				and titulo like '%".$valorPesquisa."%'
				 order by data_cadastro desc limit {$pginicial}, {$pgrowpagi}";

		$res = $db->executar($sql);
		
		while($reg = mysql_fetch_array($res)){

			$anuncio = new Anuncio();
			
			$anuncio->setRow_id($reg["row_id"]);
			$anuncio->setTitulo($reg["titulo"]);
			$anuncio->setFoto($reg["foto"]);
			$anuncio->setPreco_mercado($reg["preco_mercado"]);
			$anuncio->setPreco_frete($reg["preco_frete"]);
			$anuncio->setInicio_leilao($reg["inicio_leilao"]);
			$anuncio->setLink_leilao($reg["link_leilao"]);
			$anuncio->setId_leilao($reg["id_leilao"]);
			$anuncio->setData_cadastro($reg["data_cadastro"]);
			
			$usu = new Usuario();
			$usu->setRow_id($reg["row_id_usuario"]);
			$anuncio->setUsuario($usu->getUsuario($db));
			
			$cat = new Categoria();
			$anuncio->setCategoria($cat->getCategoria($db, $reg["row_id_categoria"]));

			$tl = new TipoLeilao();
			$anuncio->setTipo_leilao($tl->getTipoLeilao($db, $reg["row_id_tipo_leilao"]));
			
			$val = new Validade();
			$anuncio->setValidade($val->getValidade($db, $reg["row_id_validade"]));
						
			$anuncio->setQuantidade_visitas($reg["quantidade_visitas"]);
			$anuncio->setData_inicio($reg["inicio_leilao"]);
			$anuncio->setStatus($reg["status"]);
			$lista[] = $anuncio;
		}
		
		return $lista;
	}
	
	public function listarAnunciosPesquisa2($db, $row_id_usuario, $valorPesquisa){

		$sql = "select  a.row_id, 
						a.titulo, 
						a.foto,
						a.preco_mercado,
						a.preco_frete,
						DATE_FORMAT(inicio_leilao, '%d/%m/%Y %H:%i:%s') as inicio_leilao,
						a.link_leilao,
						a.id_leilao,
						DATE_FORMAT(data_cadastro, '%d/%m/%Y %H:%i:%s') as data_cadastro,
						a.row_id_usuario,
						a.row_id_categoria,
						a.row_id_tipo_leilao,
						a.row_id_validade,
						(select count(1) from estatistica where row_id_anuncio = a.row_id) as quantidade_visitas,
                        if(ADDTIME(a.inicio_leilao, v.valor) > now(), 'Em andamento', 'Expirado') as status
				from anuncios a, validade v
				where a.row_id_validade = v.row_id
				and row_id_usuario in (select row_id from usuarios where row_id_empresa in (select row_id_empresa from usuarios where row_id = {$row_id_usuario}))
				 and titulo like '%".$valorPesquisa."%'
				 order by data_cadastro desc";

		$res = $db->executar($sql);
		
		while($reg = mysql_fetch_array($res)){

			$anuncio = new Anuncio();
			
			$anuncio->setRow_id($reg["row_id"]);
			$anuncio->setTitulo($reg["titulo"]);
			$anuncio->setFoto($reg["foto"]);
			$anuncio->setPreco_mercado($reg["preco_mercado"]);
			$anuncio->setPreco_frete($reg["preco_frete"]);
			$anuncio->setInicio_leilao($reg["inicio_leilao"]);
			$anuncio->setLink_leilao($reg["link_leilao"]);
			$anuncio->setId_leilao($reg["id_leilao"]);
			$anuncio->setData_cadastro($reg["data_cadastro"]);
			
			$usu = new Usuario();
			$usu->setRow_id($reg["row_id_usuario"]);
			$anuncio->setUsuario($usu->getUsuario($db));
			
			$cat = new Categoria();
			$anuncio->setCategoria($cat->getCategoria($db, $reg["row_id_categoria"]));

			$tl = new TipoLeilao();
			$anuncio->setTipo_leilao($tl->getTipoLeilao($db, $reg["row_id_tipo_leilao"]));
			
			$val = new Validade();
			$anuncio->setValidade($val->getValidade($db, $reg["row_id_validade"]));
							
			$anuncio->setQuantidade_visitas($reg["quantidade_visitas"]);
			$anuncio->setData_inicio($reg["inicio_leilao"]);
			$anuncio->setStatus($reg["status"]);
			$lista[] = $anuncio;
		}
		
		return $lista;
	}
	
	public function inserirAnuncio($db){
		
		$sql = "insert into anuncios values (null, 
                            '{$this->getTitulo()}', 
                            '{$this->getFoto()}', 
                            '{$this->getPreco_mercado()}', 
                            '{$this->getPreco_frete()}', 
                            '{$this->getInicio_leilao()}', 
                            '{$this->getLink_leilao()}', 
                            '{$this->getId_leilao()}', 
                            now(), 
                            {$this->getUsuario()->getRow_id()}, 
                            {$this->getCategoria()->getRow_id()}, 
                            {$this->getTipo_leilao()->getRow_id()}, 
                            {$this->getValidade()->getRow_id()})";
		
		$res = $db->executar($sql);
	}
}

?>
